Adaptive bit rate streaming (ABS), such as Hypertext Transfer Protocol (HTTP) live streaming (HLS) and Moving Picture Experts Group dynamic adaptive streaming over HTTP (MPEG-DASH) has become a widespread form of multimedia consumption. ABS provides a subscriber device the ability to quickly switch between different streams of the same content, the streams having various quality levels, and therefore various bit rates. A content server creates variant bit rate streams for a single piece of multimedia content, and a feature at a subscriber device switches between the various streams according to available network bandwidth.
A content server may include a plurality of index or manifest files associated with a piece of multimedia content. Each index file includes a plurality of playlist files, each playlist file being associated with a different level of quality and bit rate. Each playlist file includes portions of the associated multimedia content, the portions being segmented according to a certain period of time. By segmenting the multimedia content into individual portions at different quality levels and bit rates, a subscriber device can select individual segments of the content from different playlists (e.g., segments of the content at different quality levels and bit rates). The subscriber device can periodically monitor the amount of bandwidth available to it, and change the playlist from which it is downloading the content accordingly. For example, as more bandwidth becomes available to the subscriber device, the subscriber device can start downloading content segments from a playlist of higher quality and bit rate. As less bandwidth is made available to the subscriber device, the subscriber device can start downloading content segments from a playlist of lower quality and/or bit rate.
In addition to different quality levels and bit rates, multimedia content can be made available with different media renditions. For example, playlists comprising different audio renditions of a single piece of multimedia content can be located in a manifest or index file at a content server, wherein each audio rendition is associated with a different language (e.g., English, Spanish, French, etc.). As another example, a manifest or index file may include playlists comprising different video renditions of the multimedia content (e.g., a piece of multimedia content available in different video angles, different languages for text displayed within the video, etc.). The specific language associated with a playlist, or other unique attribute of the media associated with a playlist, may be identified from a metadata tag of the playlist (e.g., EXT_X_MEDIA).
Typically, when a user requests multimedia content from the content server, only a single media rendition of the multimedia content is received by the subscriber device. When the user decides to switch to a different media rendition (e.g., different language) of the multimedia content, the subscriber device generally must first determine the location of the media rendition within the associated manifest or index file, then download the media rendition, and start playing the media rendition from the point in the content at which the user requested to switch renditions. This process can create a significant delay between the point in time at which the user decides to switch media renditions and when the subscriber device begins outputting the new media rendition. Therefore, a need exists for improving methods and systems for delivering alternate media files to a subscriber device.
Like reference numbers and designations in the various drawings indicate like elements.